# 作者:侯征

#定义
list_1=[1,2,3,4,5,6,7]
list_1=set(list_1)      #将列表转换成集合
list_2=set([3,5,6,10])      #创建一个数值集合
t = set("Hello")         #创建一个唯一字符的集合
#交集
print(list_1.intersection(list_2))
print(list_1 & list_2)
#并集
print(list_1.union(list_2))
print(list_1 & list_2)
#差集:在list_1中 不在list_2中
print(list_1.difference(list_2))
print(list_1 - list_2)
#子集
list_3=set([1,3,5])
print(list_3.issubset(list_1)) #list_3是否是list_1的子集
print(list_3 <= list_1)
print(list_1.issuperset(list_3)) #list_1是否是list_3的父集
print(list_1 >= list_3)
#对称差集: 减去两个集合中共同的部分,即并集去掉交集
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)
#两个集合有交集返回false,没有交集返回true
print(list_1.isdisjoint(list_2))   #False
print(list_1.isdisjoint(set([99,88]))) #True
#常用操作
list_1.add('x')     # 添加一项
print(list_1)
list_1.update([10,37,42])  # 在s中添加多项
list_1.remove('x')   #使用remove()可以删除一项：如果没有会报错
len(list_1)   #set 的长度
print(1 in list_1)  #测试 1 是否是 list_1 的成员
print(20 not in list_1)  #测试 20 是否不是 list_1 的成员
list_1.copy() #返回 set list_1的一个浅复制

print(set([1,2,3,4]).pop()) # 随机删除并返回一个值
print(set([1,2,3,4]).discard(1))   # 删除一个数字,不会报错,如果是其他类型,不删除

expandtabs = "侯 \t 征".expandtabs(tabsize=10)
print(expandtabs)


print("houzheng".zfill(30))

